﻿using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DAL
{
    public class DALCalificacion : DALBase
    {
        private static string cmdAltaCalificacion = "Insert into Calificaciones (CliId,ComId,Calificacion) Values(@CliId,@ComId,@Calificacion)";
        private static string cmdbuscarPromedio = "select AVG(Calificacion) from Calificaciones where ComId=@ComId";
        private static string cmdValidacion = "select * from Calificaciones where ComId = @ComId and CliId=@CliId";
        
        public Boolean AltaCalificacion(List<SqlParameter> parametros) {
            int ret = ejecutaNonQuery(cmdAltaCalificacion, parametros, CommandType.Text);
            if (ret > 0)
            {
                return true;
            }
            else
            {
                return false;
            }
        }

        public static int buscarPromedio(int ComercioId) {
            List<SqlParameter> parametros = new List<SqlParameter>();
            parametros.Add(new SqlParameter("@ComId", ComercioId));
            object o = ejecutaScalar(cmdbuscarPromedio, parametros);
             int ret;
            if(DBNull.Value.Equals(o)){
                ret = 0;
            }else{
                ret = Convert.ToInt32(o);               
            }           
            return ret;
        }

        public SqlDataReader ValidadCalificacion(int ComercioId, int ClienteId) {
            List<SqlParameter> parametros = new List<SqlParameter>();
            parametros.Add(new SqlParameter("@ComId", ComercioId));
            parametros.Add(new SqlParameter("@CliId", ClienteId));
            SqlDataReader dr = select(parametros, cmdValidacion, CommandType.Text);
            return dr;
        }

    }
}
